package com.ruoyi.psi.base.category.mapper;



import com.ruoyi.psi.base.category.domain.BaseCategory;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 产品类别 数据层
 * @author Drj 2021/6/28
 */
public interface BaseCategoryMapper {
    /**
     * 根据条件查询产品类别
     *
     * @param baseCategory 产品类别信息
     * @return 产品类别集合
     */
    public List<BaseCategory> selectBaseCategoryList(BaseCategory baseCategory);

    /**
     * 根据id查询产品类别
     *
     * @param baseCategoryId 产品类别编号
     * @return 产品类别
     */
    public BaseCategory selectBaseCategoryById(String baseCategoryId);

    /**
     * 根据id查询子级产品类别
     * @param baseCategoryId
     * @return
     */
    public List<BaseCategory> selectChildrenBaseCategoryById(String baseCategoryId);


    /**
     * 新增产品类别
     *
     * @param baseCategory 产品类别信息
     * @return 结果
     */
    public int insertBaseCategory(BaseCategory baseCategory);

    /**
     * 修改产品类别数据
     *
     * @param baseCategory 产品类别信息
     * @return 结果
     */
    public int updateBaseCategory(BaseCategory baseCategory);

    /**
     * 修改子元素关系
     * @param baseCategorys 子元素
     * @return
     */
    public int updateBaseCategoryChildren(@Param("baseCategorys") List<BaseCategory> baseCategorys);

    /**
     * 删除功能
     * 更新对应产品类别删除标志
     *
     * @param baseCategory 产品类别信息
     * @return
     */
    public int updateBaseCategoryDeleteFlag(BaseCategory baseCategory);
}
